Availability Group Setup এবং Configuration গাইড ও নোট

Microsoft Technologies - এমএস এসকিউএল সার্ভার (MS SQl Server) - SQL Server Always On Availability Groups
293

SQL Server Availability Groups (AGs) হল একটি উচ্চ উপলব্ধতা (High Availability) এবং ডিসাস্টার রিকভারি (Disaster Recovery) ফিচার যা SQL Server 2012 এবং তার পরবর্তী সংস্করণে অন্তর্ভুক্ত করা হয়েছে। এটি Always On ফিচারের অংশ হিসেবে কাজ করে, যা SQL Server ডাটাবেসগুলিকে একাধিক সার্ভারে রেপ্লিকেট করে এবং সার্ভার ডাউন বা অব্যবস্থাপিত হলে ডেটাবেসের অব্যাহত প্রবাহ নিশ্চিত করে।

Availability Group তৈরি করে আপনি একটি গ্রুপে একাধিক Secondary Replicas কনফিগার করতে পারেন, যার মাধ্যমে Primary Replica থেকে ডেটা রিয়েল-টাইমে রেপ্লিকেট হয়। AG এর সাহায্যে আপনার ডেটাবেসগুলি High Availability এবং Disaster Recovery সাপোর্ট পায়।


1. Availability Group কী? (What is an Availability Group?)

Availability Group হল একটি SQL Server ফিচার যা উচ্চ উপলব্ধতা নিশ্চিত করতে ব্যবহৃত হয়, যেখানে একাধিক সার্ভারে ডেটাবেস রেপ্লিকেশন এবং ফেইলওভার করা যায়। এটি SQL Server ইনস্ট্যান্সের মধ্যে একটি ক্লাস্টার তৈরি করে এবং ডেটা সিঙ্ক্রোনাইজেশন বজায় রাখে।

Availability Group মূলত নিম্নলিখিত দুটি গুরুত্বপূর্ণ উপাদান ধারণ করে:

  • Primary Replica: এটি মূল (Primary) সার্ভার যেখানে ডেটাবেসটি লিভিং থাকে এবং সমস্ত ট্রানজেকশন এখানে ঘটানো হয়।
  • Secondary Replicas: এগুলি অতিরিক্ত সার্ভার যেখানে ডেটাবেসের কপি রেপ্লিকেট হয় এবং ফেইলওভার প্রয়োজনে ব্যবহার করা হয়।

2. Availability Group কনফিগারেশন (Availability Group Configuration)

Availability Group কনফিগারেশন করার জন্য কিছু ধাপ অনুসরণ করতে হবে। এখানে আমরা SQL Server 2017/2019 সংস্করণের জন্য স্টেপ-বাই-স্টেপ কনফিগারেশন প্রক্রিয়া আলোচনা করছি।

2.1. Prerequisites (পূর্বশর্ত)

Availability Group কনফিগার করার জন্য আপনাকে কিছু পূর্বশর্ত পূরণ করতে হবে:

  • Windows Server Failover Clustering (WSFC): Availability Groups কাজ করার জন্য Windows Server Failover Clustering কনফিগার করা থাকতে হবে।
  • SQL Server Instances: Primary এবং Secondary Replicas চলবে এমন একাধিক SQL Server ইনস্ট্যান্স থাকতে হবে।
  • Shared Storage: যদি আপনি shared disk ব্যবহার করেন, তবে তার যথাযথ কনফিগারেশন থাকতে হবে, তবে সাধারণত Availability Groups সার্ভারের মধ্যে ডেটা সিঙ্ক্রোনাইজেশনের জন্য Shared Storage প্রয়োজন হয় না।

2.2. WSFC তৈরি করা (Create Windows Server Failover Cluster)

প্রথমে, Windows Server Failover Clustering (WSFC) কনফিগার করতে হবে। এটি SQL Server ইনস্ট্যান্সগুলির মধ্যে সিঙ্ক্রোনাইজেশন এবং ফেইলওভার ম্যানেজ করবে।

  • Windows Server Failover Clustering কনফিগার করার জন্য, Failover Cluster Manager খুলুন এবং নতুন একটি ক্লাস্টার তৈরি করুন।
  • ক্লাস্টারটি দুটি বা তার বেশি সার্ভারের মধ্যে কনফিগার করুন।

2.3. SQL Server ইনস্ট্যান্স কনফিগারেশন (SQL Server Instance Configuration)

  • আপনার SQL Server ইনস্ট্যান্সে Always On Availability Groups ফিচারটি সক্ষম করতে হবে।
  • SQL Server Management Studio (SSMS) খুলুন এবং SQL Server Configuration Manager এ যান।
  • SQL Server Services এ গিয়ে, SQL Server (MSSQLSERVER) সার্ভিসে রাইট-ক্লিক করুন এবং Properties নির্বাচন করুন।
  • Always On Availability Groups এ গিয়ে সেটিংস টগল করুন (ইনেবল করুন) এবং সার্ভিস রিস্টার্ট করুন।

2.4. Database প্রিপারেশন (Prepare the Database)

Availability Group এ যোগ করার জন্য ডেটাবেসটি প্রস্তুত করতে হবে:

  • ডেটাবেসটি Full Recovery Model এ থাকতে হবে।
  • ডেটাবেসের Backup তৈরি করুন। এটি গুরুত্বপূর্ণ, কারণ ডেটাবেসের ব্যাকআপই প্রথমবারের মতো Secondary Replica তে রিস্টোর করা হবে।
BACKUP DATABASE <DatabaseName> TO DISK = 'C:\Backup\<DatabaseName>.bak';
  • Transaction Log Backup: পরবর্তী ধাপে ডেটাবেসের transaction log ব্যাকআপ নিতে হবে।
BACKUP LOG <DatabaseName> TO DISK = 'C:\Backup\<DatabaseName>_Log.trn';

2.5. Availability Group তৈরি করা (Create the Availability Group)

  • SQL Server Management Studio (SSMS) ব্যবহার করে New Availability Group Wizard চালু করুন:
    • Start the New Availability Group Wizard এবং Name the Availability Group
    • Primary Replica এবং Secondary Replica নির্বাচিত করুন।
    • প্রাথমিক ডেটাবেসের ব্যাকআপ ফাইলগুলি সিলেক্ট করুন এবং Secondary Replica এ রিস্টোর করুন।
    • Backup Preferences নির্ধারণ করুন (যেমন, সিঙ্ক্রোনাইজড, অ্যাসিঙ্ক্রোনাইজড ইত্যাদি)।

2.6. Endpoint কনফিগারেশন (Configure Endpoints)

Availability Group কনফিগারেশনের জন্য SQL Server এ Endpoints তৈরি করতে হয়, যা Replication এবং Syncing-এর জন্য ব্যবহৃত হয়।

CREATE ENDPOINT [AvailabilityGroupEndpoint]
STATE = STARTED
AS TCP (LISTENER_PORT = 5022)
FOR DATABASE_MIRRORING (ROLE = ALL);

2.7. Joining Secondary Replica to the AG (Second Replica যোগ করা)

Secondary Replica কে Availability Group এ যোগ করতে, প্রথমে ডেটাবেস রিস্টোর করতে হবে (ব্যাকআপ থেকে)। এরপর, Join Availability Group অপশন নির্বাচন করুন।


3. Availability Group এর প্রধান ফিচার (Key Features of Availability Groups)

  • High Availability: Availability Groups নিশ্চিত করে যে সার্ভার ডাউন হলে Secondary Replica থেকে Primary Replica-তে ফেইলওভার করা যায়।
  • Automatic Failover: Availability Group এ Automatic Failover ফিচার থাকে, যা Primary Replica ডাউন হলে Secondary Replica-কে Primary হিসেবে কনভার্ট করে।
  • Data Synchronization: ডেটাবেসের ডাটা সিঙ্ক্রোনাইজেশন স্বয়ংক্রিয়ভাবে ঘটে। বিভিন্ন রেপ্লিকা সব সময় আপ-টু-ডেট থাকে।
  • Backup on Secondary Replicas: আপনি Secondary Replica-তে ব্যাকআপ নিতে পারেন, যা Primary Replica তে ব্যাকআপের লোড কমাতে সহায়তা করে।

4. Availability Group Monitoring and Troubleshooting

Availability Groups নিয়মিত মনিটর করা উচিত, যাতে ডেটাবেসের স্বাস্থ্যের উপর নজর রাখা যায়। SQL Server Management Studio (SSMS) অথবা SQL Server Always On Dashboard ব্যবহার করে Availability Group-এর সেল্ফ-ডায়াগনস্টিক পারফরম্যান্স এবং স্ট্যাটাস চেক করা যায়।

  • Failover History দেখতে Always On Dashboard ব্যবহার করুন।
  • SQL Server Error Logs এবং Windows Event Logs পরীক্ষা করে সম্ভাব্য সমস্যা শনাক্ত করুন।
  • Database Replica Sync Status চেক করুন, যাতে আপনি জানতে পারেন কোনও Replica সিঙ্ক্রোনাইজড হয়েছে কিনা।

SQL Server Availability Group কনফিগার করা এবং সেটআপ করা একটি অত্যন্ত শক্তিশালী এবং কার্যকরী প্রক্রিয়া যা ব্যবসায়িক ক্রিয়াকলাপের জন্য ডেটার উচ্চ উপলব্ধতা এবং ডিসাস্টার রিকভারি নিশ্চিত করে।

Content added By
Promotion

Are you sure to start over?

Loading...